package com.eugeneMa.dao;

import com.eugeneMa.entity.ClassTime;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 课时表Dao
 *
 * @author Eugenema
 * @date 2022/3/31 15:47
 */
public interface ClassTimeDao {
    /**
     * 根据用户ID，查询所有课时表
     *
     * @author Eugenema
     * @date 2022/3/31 15:48
     *
     * @param userId 用户ID
     *
     * @return 所有课时表及共享权限课时表
     **/
    List<ClassTime> queryClassTimeByUserId(Integer userId);

    /**
     * 根据ID查询课时表
     *
     * @author Eugenema
     * @date 2022/4/1 9:16
     *
     * @param id 课时表ID
     *
     * @return 课时表
     **/
    ClassTime queryClassTimeById(Integer id);

    /**
     * 根据课时表名称查询本人的课时表
     *
     * @author Eugenema
     * @date 2022/4/4 18:48
     *
     * @param designation 课时表名称
     * @param userId 用户ID
     *
     * @return 课时表
     **/
    ClassTime queryClassTimeByDesignationAndUserId(@Param("designation") String designation, @Param("userId") Integer userId);

    /**
     * 插入课时表
     *
     * @author Eugenema
     * @date 2022/4/4 18:57
     *
     * @param classTime 要插入的课时表
     *
     * @return 受影响行数，以及新增课时表的自增长ID
     **/
    int insertClassTime (ClassTime classTime);

    /**
     * 根据id删除课时表
     *
     * @author Eugenema
     * @date 2022/4/8 15:58
     *
     * @param id 课时表ID
     *
     * @return 受影响行数
     **/
    int deleteClassTimeById (Integer id);
}
